English Flagge English Italiano Flagge Italiano Español Flagge Español Français Flagge Français Deutsch Flagge Deutsch Português Flagge Português Ελληνικά Flagge Ελληνικά Nederlands Flagge Nederlands Polski Flagge Polski Čeština Flagge Čeština 中文 Flagge 中文 日本語 Flagge 日本語 हिन्दी Flagge हिन्दी اللغة العربية Flagge اللغة العربية Русский Flagge Русский Українська Flagge Українська עִברִית Flagge עִברִית Türk Flagge Türk Latvietis Flagge Latvietis Dansk Flagge Dansk Norsk Flagge Norsk Íslenska Flagge Íslenska 한국어 Flagge 한국어 Suomen Flagge Suomen Gaeilge Flagge Gaeilge Bahasa Melayu Flagge Bahasa Melayu Svenska Flagge Svenska
Benutzer SymbolLogin
Deutsch Flagge Deutsch

Login

 

Funktionen und Skripte (Formelfeld)

So verwenden Sie die Funktionen Minimum/Maximum, Ceil up/Ceil down (round) und Ruby-Skripte

Inhalt

Minimum-/Maximum-Funktionen
Deckenauf-/absenkfunktionen
Skripte (Ruby)
Arithmetische und bedingte Operatoren
Mathematische Funktionen
Zeichenfolgenfunktionen

Tipps & Tricks

Sortieren von Datensätzen
Komplexe Berechnungen
Zählen von Daten mithilfe von Skripten
Link zur Datensatzansicht

no_image

Minimum-/Maximum-Funktionen

Sehen wir uns am Beispiel der Produkttabelle an, wie die Funktionen funktionieren.

Diese Tabelle enthält die folgenden Spalten:
Markenname und Modell;
Bild;
Preis für Juni, Juli und August.

Die Aufgabe besteht darin, den niedrigsten Preis für alle drei Monate anzuzeigen.

Kopfhörertabelle

Der erste Schritt besteht darin, dem Formular das Formelfeld hinzuzufügen.

Fügen Sie dem Formular das Formelfeld hinzu

Wählen Sie in der ersten Dropdown-Liste „Funktion“ aus:

Wählen Sie "Funktion" in der ersten Dropdown-Liste

Wählen Sie „Minimum“ in der zweiten Dropdown-Liste aus:

Wählen Sie „Minimum“ in der zweiten Dropdown-Liste aus


Als nächstes müssen Sie die Felder zum Vergleichen auswählen. In diesem Fall sind das drei Preisfelder.
Und klicken Sie auf die Schaltfläche „Erstellen“.
 

Wählen Sie die Felder zum Vergleichen aus

Nun ist in unserer Tabelle das Feld „Niedrigster Preis“ erschienen, welches die drei Werte im Datensatz vergleicht und das Minimum davon anzeigt:

Feld "Niedrigster Preis" ist in unserer Tabelle erschienen

Die Funktion „Maximum“ funktioniert genau umgekehrt.

 

Deckenauf-/absenkfunktionen

Betrachten Sie die Funktionen „Decke hoch“ und „Decke runter“. Hier ist eine Tabelle mit Kunden und ihren Bestellungen.

Die Aufgabe besteht darin, den Wert in der Spalte „Zahlbarer Betrag“ zu runden.

Tabelle mit zahlbarem Betrag

Erstellen Sie ein neues Formelfeld und wählen Sie die Funktion „Decke nach oben“ (oder „Decke nach unten“).

Als nächstes müssen Sie das gewünschte Feld aus der Dropdown-Liste auswählen und die Bedeutung festlegen.

Funktion „Gerundeter Betrag“

Als Ergebnis erhalten wir eine Spalte mit einem gerundeten Betrag:

Spalte mit einem gerundeten Betrag

 

Skripte (Ruby)

Mithilfe von Skripten können Sie logische und arithmetische Operationen durchführen.

Wir verwenden als Beispiel die Tabelle „Sommerschlussverkauf“. Diese Tabelle enthält eine Spalte mit einem Manager, seiner Arbeitszeit und der Summe des Umsatzes für den Sommer.

Sommer-Verkaufstabelle

Lassen Sie uns ein neues Formelfeld erstellen, die Option Funktion und das Element Skript (Ruby) in der folgenden Liste auswählen.

Als Operanden können Sie HTML-Feldnamen verwenden.

Klicken Sie auf den Link unter dem Funktionsfeld „So fügen Sie Datensatzdaten ein“:

So fügen Sie Datensatzdaten ein

Eine Liste der verfügbaren Felder wird angezeigt. Wählen Sie ein Feld aus der Liste aus und kopieren Sie den HTML-Namen:

Wählen Sie ein Feld aus der Liste aus und kopieren Sie den HTML-Namen

Außerdem können Sie den HTML-Feldnamen direkt hier ändern. Geben Sie einfach einen neuen Namen ein und klicken Sie auf die Schaltfläche „Aktualisieren“:

Ändern Sie den HTML-Feldnamen

Die folgenden arithmetischen und bedingten Operatoren sind verfügbar:


(+) Addition

(-) Subtraktion

(*) Multiplikation

(/) Division

(>) wahr, wenn der linke Operand größer als der rechte ist

(<) wahr, wenn der linke Operand kleiner als der rechte ist

(%) Modulo-Division

(==) wahr, wenn die Werte der beiden Operanden gleich sind.


Bedingte Operatoren:

(if) wird verwendet, um zu testen, ob eine Bedingung erfüllt ist. Die Bedingungswerte false und nil sind falsch, während alle anderen wahr sind.

(elsif) wird für zusätzliche Bedingungen verwendet.

(||) wird verwendet, um mehrere Bedingungen zu testen.


Gehen wir zum Beispiel zurück. Die Aufgabe besteht darin, den Bonus für Manager zu berechnen.

Nehmen wir an, das Bonusverhältnis hängt von mehreren Faktoren ab. Der erste ist die Berufserfahrung im Unternehmen.

Erstellen wir das folgende Skript:

if work_months > 12

  300

 

Das bedeutet, wenn ein Mitarbeiter länger als 12 Monate im Unternehmen gearbeitet hat, erhält er einen Bonus von 300 $.

Lassen Sie uns eine weitere Bedingung erstellen. Wenn der Manager mehr als 7000 Verkäufe getätigt hat, erhält er 150 $ + 25 %.

Das Skript sollte folgendermaßen aussehen:

elsif sales > 7000
 (150*0.25)+150

In allen anderen Fällen beträgt der Bonus 150 $

else
 150

Damit das Skript korrekt funktioniert, muss end angegeben werden.

 

Skript zur Berechnung von Boni

 

Jetzt können wir den Bonus für jeden Manager berechnen:

Tabelle mit Bonusspalte

Verfügbare Methoden und Operatoren: to_f, to_i, to_s, round, floor, ceil, ceiling_up, ceiling_down, include?, if, elsif, else, end.
Um zu überprüfen, ob das Feld einen bestimmten Wert enthält, können Sie auch das Element [ ] verwenden.

Beispielverwendung:

if 'supplies' ['stock']
   true
else
   false
end

Sie können auch zwei Variablen verwenden: a und b

Zusätzlich zu den arithmetischen Operatoren können Sie grundlegende trigonometrische, logarithmische und transzendente Funktionen sowie Wurzeln verwenden. Funktionen müssen wie folgt geschrieben werden: Math::function(Field_name). Beispiel: Math::acos(Field_csIfon). Detaillierte Liste der mathematischen Funktionen:

Trigonometrische Funktionen

(::cos) Gibt den Cosinus des angegebenen Arguments zurück.
(::sin) Gibt den Sinus des angegebenen Arguments zurück.
(::tan) Gibt den Tangens des angegebenen Arguments zurück.

Inverse trigonometrische Funktionen

(::acos) Gibt den Arcuscosinus des angegebenen Arguments zurück.
(::asin) Gibt den Arcussinus des angegebenen Arguments zurück.
(::atan) Gibt den Arcustangens des angegebenen Arguments zurück.
(::atan2) Gibt den Arg-Tangens zweier angegebener Argumente zurück.

Hyperbolische trigonometrische Funktionen

(::cosh) Gibt den hyperbolischen Kosinus des angegebenen Arguments zurück.
(::sinh) Gibt den hyperbolischen Sinus des angegebenen Arguments zurück.
(::tanh) Gibt den hyperbolischen Tangens des angegebenen Arguments zurück.

Inverse hyperbolische trigonometrische Funktionen

(::acosh) Gibt den inversen hyperbolischen Kosinus des angegebenen Arguments zurück.
(::asinh) Gibt den inversen hyperbolischen Sinus des angegebenen Arguments zurück.
(::atanh) Gibt den inversen hyperbolischen Tangens des angegebenen Arguments zurück.

Potenzierung und logarithmische Funktionen

(::exp) Gibt den Wert eines gegebenen Werts hoch einer gegebenen Potenz zurück.
(::log) Gibt den Logarithmus eines gegebenen Werts in einer gegebenen Basis zurück.
(::log10) Gibt den Logarithmus zur Basis 10 des gegebenen Arguments zurück.
(::log2) Gibt den Logarithmus zur Basis 2 des gegebenen Arguments zurück.

Bruch- und Exponentenfunktionen

(::frexp) Gibt den Bruch und Exponenten des angegebenen Arguments zurück.
(::ldexp) Gibt den Wert für einen angegebenen Bruch und Exponenten zurück.

Stammfunktionen

(::cbrt) Gibt die Kubikwurzel des angegebenen Arguments zurück.
(::sqrt) Gibt die Quadratwurzel des angegebenen Arguments zurück.

Fehlerfunktionen

(::erf) Gibt den Wert der Gauss-Fehlerfunktion für das angegebene Argument zurück.
(::erfc) Gibt den Wert der komplementären Fehlerfunktion für das angegebene Argument zurück.

Gamma-Funktionen

(::gamma) Gibt den Wert der Gammafunktion für das angegebene Argument zurück.
(::lgamma) Gibt den Wert der logarithmischen Gammafunktion für das angegebene Argument zurück.

Hypothenuse-Funktion

(::hypot) Gibt sqrt(a**2 + b**2) für die gegebenen a und b zurück.

Zeichenfolgenfunktionen

Sie können den Text folgendermaßen groß schreiben:
Capitalize text
Stellen Sie sicher, dass Sie Ihre Variable in Anführungszeichen setzen und verwenden Sie dann die Funktion „Großschreiben“.

 

Tipps & Tricks

Hier sind einige Beispiele, wie Sie Ihre Arbeit mithilfe von Funktionen vereinfachen können.

Wir haben eine Tabelle mit Stellenbewerbern:

Tabelle der Stellenbewerber

Die Aufgabe besteht darin, die Kandidaten in drei Gruppen einzuteilen: einen geeigneten Kandidaten, einen Reservekandidaten und einen ungeeigneten Kandidaten.

Wir können das Suchformular verwenden, müssen dann aber alle Kriterien verwenden:

Suchformular

Ein Formelfeld mit einer Funktion kommt zur Hilfe. Lassen Sie uns eine neue Formel für „Auswahl“ erstellen.

Wir müssen die Kandidaten in drei bedingte Gruppen aufteilen.

Wenn der Kandidat:

- weniger als 45 Jahre alt ist;

- eine Hochschulausbildung hat;

- über 5 Jahre Berufserfahrung hat;

- eine Empfehlung eines früheren Arbeitgebers hat, dann erhält ein solcher Kandidat den Status „Geeignet“.

Für die Gruppe „Reserve“ muss ein Kandidat weniger als 50 Jahre alt sein, eine Hochschul- oder Tertiärausbildung und mehr als 5 Jahre Berufserfahrung haben.

Alle anderen Kandidaten erhalten den Status „Ungeeignet“.

 

Schreiben wir den folgenden Code für die Funktion:

if age<45 && "education" == "Höher" && exp>5 && "recommend" == "Ja"
"Geeignet"
elsif age<50 && "education" == "Höher" || "education" == "Tertiär" && exp>5
"Reservieren"
else
"Ungeeignet"
end

Bitte beachten: Numerische Werte (einschließlich HTML-Feldnamen) werden nicht in Anführungszeichen gesetzt. Anführungszeichen werden nur für Zeichenfolgenwerte verwendet.

Funktionsskript

Wie Sie im folgenden Screenshot sehen können, wurde jedem Kandidaten basierend auf den folgenden Kriterien ein Status zugewiesen:

Dem Kandidaten wurde ein Status auf Grundlage der Kriterien zugewiesen


Es ist viel einfacher, nach einem einzelnen Feld zu suchen, statt nach mehreren Kriterien:
 

Suche in einem einzelnen Feld

Dasselbe gilt für die bedingte Formatierung in einer Tabelle:

Erstellen einer bedingten Formatierung in einer Tabelle

Wir verwenden das Feld „Auswahl“, um Datensätze in der Tabelle zu formatieren:

formatierte Datensätze in der Tabelle

Es ist viel bequemer, einen Bericht nach der Suche oder Gruppierung nach einem Feld zu erstellen:

Bericht erstellen

Enthält alle Kandidaten nach ausgewählten Kriterien:

Bericht

Vergessen Sie nicht die bedingten Aktionen und das Aktionsfeld.

Erstellen Sie beispielsweise eine Schaltfläche mit der Aktion „E-Mail senden“, die nur im Datensatz mit den „geeigneten“ Kandidaten verfügbar ist.

Unter diesem Link können Sie ein Beispiel zum Erstellen einer Aktionsschaltfläche sehen.

Aktion „E-Mail senden“

Ein Funktionsfeld kann als Kriterium in Feldregeln verwendet werden.

Aktivieren Sie beispielsweise das Feld „Auswahl“ im Formular:

Feld im Formular anzeigen

Als nächstes erstellen wir ein neues Feld „Zur Warteschlange hinzufügen“ (Optionsfeld) mit einer Auswahl von zwei Werten:

Optionsfeld „Zur Warteschlange hinzufügen“

Erstellen Sie eine Regel.

Wenn das Feld „Auswahl“ aus „Reservieren“ besteht, zeigen Sie das Feld „Zur Warteschlange hinzufügen“ an:

Feldregel

So sieht es auf dem Formular aus:

So sieht es auf dem Formular aus

Die Funktionen ermöglichen nicht nur eine effizientere Datenverwaltung, sondern auch komplexere Berechnungen.

Betrachten Sie beispielsweise eine Gewinndefinitionstabelle:

Gewinndefinitionstabelle

Die Aufgabe besteht darin, den Gesamtgewinn zu berechnen.

Die Formel sieht folgendermaßen aus: Gesamtgewinn = Umsatz - Gesamtkosten

Wenn wir eine solche Berechnung mit Standardformeln durchführen würden, müssten wir die Berechnung in mehrere Formeln aufteilen (Umsatz und Gesamtkosten separat berechnen).

Mit Ruby-Funktionen können Sie diese Berechnung in einem Feld durchführen:

(Verkaufspreis*Menge)-(Einkaufskosten*Menge)

Gewinnfunktion

Gesamtgewinn in der Tabelle:

Gesamtgewinn in der Tabelle

Bitte beachten Sie: Für eine korrekte Berechnung müssen Sie den Feldtyp „Dezimal“ verwenden.

 

Zählen der Tage zwischen Daten

Als Beispiel verwenden wir eine Tabelle mit Verträgen.

Aufgabe: Zeigen, in wie vielen Tagen der Vertrag endet.

Tabelle „Verträge“

Erstellen Sie das folgende Skript:

exp_date.mjd - DateTime.now

Wo:

exp_date - html Feldname.

.mjd verfahren - konvertiert das Datum in das julianische Kalenderformat.

DateTime.now - Objekt, dessen Wert das aktuelle lokale Datum und die aktuelle Uhrzeit ist.

Funktion „Verbleibende Tage“

Als Ergebnis erhalten wir eine Spalte mit der Anzahl der Tage bis zum Vertragsende.

Spalte mit der Anzahl der Tage bis zum Vertragsende

Hier ist ein weiteres Beispiel.

Aufgabe: Bestimmen Sie das Geburtsjahr, indem Sie nur das Alter einer Person kennen.

Erstellen Sie das folgende Skript:

DateTime.year - age

Wo:

age - html Feldname.

DateTime.year - Objekt, dessen Wert das aktuelle Jahr ist.

Jahresfunktion

Als Ergebnis erhalten wir für jede Person eine Spalte mit dem Geburtsjahr.

Spalte mit dem Geburtsjahr jeder Person
Link zur Datensatzansicht

Mithilfe des Skripts können Sie eine Verknüpfung zur Datensatzansicht erstellen. Gehen Sie dazu in das Menü „Datensätze“ und öffnen Sie die Datensatzansicht.

Link zur Datensatzansicht

Kopieren Sie den Link in der Adressleiste:
Kopieren Sie den Link in der Adressleiste

Erstellen Sie ein Formelfeld. Wählen Sie „Script (Ruby)“ aus der Liste. Sie müssen die Variable „a“ und einen Datensatzlink aus dem vorherigen Schritt verwenden (in Anführungszeichen geschrieben). Ersetzen Sie die Datensatz-ID durch „Eintrags-ID-Nummer“ aus der Liste mit dem Wert |internal_id|:

Link zur Aufnahmefunktion

Dadurch erhalten Sie einen Link zum Datensatz in der Tabelle:

Link zum Datensatz in der Tabelle
Sie können einen Link zum Datensatz-Widget auf die gleiche Weise verwenden:


Link zum Datensatz-Widget